package 题目集.前缀和.差分;

import java.util.Scanner;

/**
 * 输入一个长度为 n
 *  的整数序列。
 *
 * 接下来输入 m
 *  个操作，每个操作包含三个整数 l,r,c
 * ，表示将序列中 [l,r]
 *  之间的每个数加上 c
 * 。
 *
 * 请你输出进行完所有操作后的序列。
 */
public class 模板题 {
    static int n, m;
    static int[] dif;
    static int[] origin;

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        m = sc.nextInt();
        dif = new int[n + 2];
        origin = new int[n + 1];
        for (int i = 1; i <= n; i++) {
            origin[i]=sc.nextInt();
            dif[i]=origin[i]-origin[i-1];
        }
        while (m-- > 0) {
            int l = sc.nextInt();
            int r = sc.nextInt();
            int v=sc.nextInt();
            dif[l]+=v;
            dif[r+1]-=v;
        }
        for (int i = 1; i <= n; i++) {
            dif[i]+=dif[i-1];
            System.out.print(dif[i]+" ");
        }
    }
}
